package com.ruoyi.cms.entity.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * 模型对象 cms_model
 */
@Data
@TableName("cms_model")
public class Model implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 模型id
     */
    @TableId(type = IdType.ASSIGN_ID)
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long id;

    /**
     * 模型名称
     */
    private String name;

    /**
     * 原始素材类型 1-图片 2-视频
     */
    private Integer originalType;

    /**
     * 封面图片链接
     */
    private String coverPhotoUrl;

    /**
     * 合集id
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long collectionId;

    /**
     * 状态 1-排队中 2-生成中 3-成功 4-失败
     */
    private Integer status;

    /**
     * 算力服务器ip
     */
    private String serverIp;

    /**
     * 原始文件总大小
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long countSize;

    /**
     * 是否可见 1-私密 2-公开
     */
    private Integer visible;

    /**
     * 上传来源 1-小程序
     */
    private Integer source;

    /**
     * 帧间隔
     */
    private Integer frameInterval;

    /**
     * 图片数量
     */
    private Integer originalNum;

    /**
     * 模型大小
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long modelSize;

    /**
     * 点赞数
     */
    private Integer likeNum;

    /**
     * 收藏数
     */
    private Integer favoriteNum;

    /**
     * 是否精选 0-否 1-是
     */
    private Integer featured;

    /**
     * 0-未删除 1-已删除
     */
    private Integer deleted;

    /**
     * 创建人
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long creator;

    /**
     * 修改人
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long updater;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /**
     * 修改时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;


}
